package com.nd.android.musicboxlibrary.interf;

import com.nd.android.musicboxlibrary.business.bean.MusicInfo;

import java.util.List;

/**
 * 下载相关接口 <br>
 * Created 2014年7月11日 上午2:01:47
 * 
 * @version
 * @author wat.ztag
 * 
 * @see
 */
public interface IDownloadManager {

    /**
     * 将音乐加入下载列表 <br>
     * Created 2014年9月15日 下午11:18:12
     * 
     * @param musicInfo
     *            音乐信息
     * @author wat.ztag
     */
    void addMusic2DownloadList(MusicInfo musicInfo , boolean isHQ);

    /**
     * 将音乐批量加入下载列表 <br>
     * Created 2014年9月15日 下午11:18:15
     * 
     * @param musicInfoList
     *            音乐列表
     * @author wat.ztag
     */
    void batchAddMusic2DownloadList(List<MusicInfo> musicInfoList);

    /**
     * 标识音乐下载完成 <br>
     * Created 2014年9月15日 下午11:18:17
     * 
     * @param musicInfo
     *            音乐信息
     * @author wat.ztag
     */
    void setMusicDownloaded(MusicInfo musicInfo);

    /**
     * 将Lrc加入下载列表 <br>
     * Created 2014年9月15日 下午11:17:56
     * 
     * @param musicInfo
     *            音乐信息
     * @author wat.ztag
     */
    void addLrc2DownloadList(MusicInfo musicInfo);

    /**
     * 将Lrc批量加入下载列表 <br>
     * Created 2014年9月15日 下午11:18:00
     * 
     * @param musicInfoList
     *            音乐列表
     * @author wat.ztag
     */
    void batchAddLrc2DownloadList(List<MusicInfo> musicInfoList);

    /**
     * 下载 未下载的喜欢歌曲 <br>
     * Created 2014年9月15日 下午11:18:03
     * 
     * @author wat.ztag
     */
    void addFavMusic2DownLoadList();

    /**
     * 结束下载 未下载的喜欢歌曲 <br>
     * Created 2014年9月15日 下午11:18:05
     * 
     * @author wat.ztag
     */
    void removeFavMusicFromDownLoadList();

    /**
     * 删除下载音乐 <br>
     * Created 2014年9月15日 下午11:18:08
     * 
     * @param musicInfo
     *            音乐信息
     * @author wat.ztag
     */
    void removeMusicFromDownloadList(MusicInfo musicInfo);
}
